﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using WCFAccesos.Dominio;

namespace WCFAccesos.Persistencia
{
    public class GRUsuarioPerfilDAO
    {

        public GRUsuarioPerfil Obtener(int codigo){
            SqlDataReader resultado = null;
            SqlConnection con = null;
            SqlCommand com = null;
            GRUsuarioPerfil perfilEncontrado = null;
            try
            {
                con = new SqlConnection(ConexionUtil.ObtenerCadena());
                con.Open();
                com = new SqlCommand("GRUsuarioPerfil_Obtener", con);
                com.CommandType = CommandType.StoredProcedure;
                com.Parameters.Add("@iCodUsu", SqlDbType.Int).Value =codigo;                
                resultado = com.ExecuteReader();
                if (resultado.HasRows)
                {
                    while (resultado.Read())
                    {
                        perfilEncontrado = new GRUsuarioPerfil();
                        perfilEncontrado.iCodUsu = Convert.ToInt32(resultado["iCodUsu"].ToString());
                        perfilEncontrado.iCodUsuPerfil = Convert.ToInt32(resultado["iCodUsuPerfil"]);
                        perfilEncontrado.iCodPerfil = Convert.ToInt32(resultado["iCodPerfil"]);
                        perfilEncontrado.dtFIniUsuPerfil = (DateTime)resultado["dtFIniUsuPerfil"];
                        perfilEncontrado.dtFFinUsuPerfil = (DateTime)resultado["dtFFinUsuPerfil"];
                        perfilEncontrado.bActivo = Convert.ToBoolean(resultado["bActivo"].ToString());
                        perfilEncontrado.iCodUsuAct = Convert.ToInt32(resultado["iCodUsuAct"].ToString());
                        perfilEncontrado.vNomTer = (string)resultado["vNomTer"];
                        perfilEncontrado.dtFecAct = Convert.ToDateTime(resultado["dtFecAct"].ToString());
                    }
                }
            }
            catch
            {
                perfilEncontrado = null;
            }
            finally
            {
                if (resultado != null)
                    resultado.Close();
                if (con.State == ConnectionState.Open)
                    con.Close();
            }
            return perfilEncontrado;
        }
    }
}